Skip to content

Conversation

@vladd-g
Copy link

@vladd-g vladd-g commented Jan 26, 2026

Fixes KT-78051

When an inline function has a value class parameter with a default value
and the underlying type is nullable, the $default stub's parameter stays
boxed while the implementation's parameter is unboxed. IrInlineDefaultCodegen
copies bytecode verbatim, causing VerifyError due to the type mismatch.

The fix checks for boxed inline class types in the stub's parameters
and clears the DEFAULT_STUB_CALL_TO_IMPLEMENTATION origin, forcing
IrInlineCodegen which handles type coercion correctly.

@vladd-g vladd-g requested review from a team as code owners January 26, 2026 08:16
@vladd-g vladd-g requested a review from grechkovlad January 26, 2026 08:16
@vladd-g vladd-g force-pushed the KT-78051 branch 2 times, most recently from 746ec9d to 8d46097 Compare January 31, 2026 21:15
…ction

When an inline function has a value class parameter with a default value
and the underlying type is nullable, the $default stub's parameter stays
boxed while the implementation's parameter is unboxed. IrInlineDefaultCodegen
copies bytecode verbatim, causing VerifyError due to the type mismatch.

The fix checks for boxed inline class types in the stub's parameters
and clears the DEFAULT_STUB_CALL_TO_IMPLEMENTATION origin, forcing
IrInlineCodegen which handles type coercion correctly.

^KT-78051 fixed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant